Location Calendar Targeted Advertisements

ABSTRACT

A method and system is described for targeting advertisements to a targeted travel habit. A targeted travel habit is comprised of a derived travel habit and associated values for any variables relevant to the derived travel habit. A derived travel habit allows targeting an advertisement towards a specific travel habit of a traveler, and utilizes the raw data entered by a traveler into a location calendar system. This raw data includes the traveler&#39;s home locations and travel plans. Raw data may be for the past, present, or future.

PRIORITY CLAIM

The present application is a continuation application of U.S. patentapplication Ser. No. 11/838,890, filed Aug. 15, 2007, titled “LocationCalendar Targeted Advertisements,” which is a continuation-in-part ofU.S. patent application Ser. No. 11/781,951, filed Jul. 24, 2007, titled“Electronic Location Calendar,” which is a continuation-in-part of U.S.patent application Ser. No. 10/884,357, filed Jul. 2, 2004, titled“Travel Planning for Social Networks,” the contents of which areincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to targeted onlineadvertisements, and more particularly, to targeted online advertisementsbased on data from an electronic location calendar.

2. Description of the Related Art

There has long been a desire by advertisers to more effectively targettheir advertisements in order to avoid wasted impressions and moreefficiently utilize their ad budgets. In contrast to advertising ontraditional media, such as television, radio, and print publications,advertising on the internet, or interactive media, has become popularamong advertisers because of new targeting capabilities.

Early on in interactive media, advertisers were given the ability totarget their advertisements to specific websites, and did so base on theaudience demographics of the website. Advertisers were also able totarget within specific sections of a specific website, such as thesports section or real estate section. This level of targeting was notsuch a great leap over traditional media.

In cases where a website had user registration data, advertisers wereable to target specific demographic data obtained from the registrationprocess. For example, a fictional website, such aswww.ANewspaperExample.com might require users to register in order toview content. In such a case, they may collect demographic informationsuch as the user's gender. With this demographic readily available onwww.ANewspaperExample.com, advertisers are given the capability totarget based on this data. For example, an advertiser may have an adcampaign where they may only want to target males, which they can now dowith www.ANewspaperExample.com.

In many cases however, websites do not require registration, as itdeters users away from the site. This is especially true of websitesthat are focused with online publication of content. Advertisers areable to target based on content in these cases. So instead of targetinga user specifically, advertisers can select to target their display ofads on a webpage based on the content contained within that webpage. Forexample, an advertiser may have an advertisement which is to be targetedto the keyword “toothbrush,” which will cause the advertisement to bedisplayed on web-pages which have mention of the word “toothbrush.”

Ads that are targeted based on content can also be used within searchengines. Continuing with the example above, if there is an advertisementassociated with the keyword “toothpaste,” this ad might be displayedwhenever a user goes to a search engine and performs a search for theword “toothpaste.” Although similar, this form of advertising iscommonly referred to as keyword-targeted advertising, and the example inthe previous paragraph is referred to as content-targeted advertising.

Although keyword-targeted advertising and content-targeted advertisinghas provided major strides in targeting in the interactive media space,it is strongly believed that more effective means of targeting mayexist. One new field of advertising that is growing in popularity isknown has behavioral targeting. As the name implies, this type oftargeting give the advertiser the capability to target based on theuser's current behavior. For example, if a user visits a series ofwebsites implying that the user is researching different types ofblenders, an advertiser, such as a retailer, can target this user anddisplay an ad showing the user a blender for sale. Behavioral targetingrequires complex logic to determine the user's behavior based on theuser's profile along with web-pages the user is visiting. In addition,because much of the data is being collected real-time, it requires heavyprocessing capabilities.

A couple other related art to this invention include the social networkand the electronic location calendar (aka travel calendar). Socialnetworking technology and electronic location calendar technology can becombined to greatly assist travelers in staying in touch with friends,family, and associates.

Travelers, especially business travelers, are finding themselvestraveling alone and for an extended period. They are also finding thatthey are traveling to destinations completely foreign and unfamiliar tothem. Whether or not they are traveling alone, travelers typically wouldlike the opportunity to find and meet with related individuals, such asfriends, family members, business associates, or even friends of friendswhile at their travel destination.

Typically, in order to accomplish this task, the traveler would firsthave to perform the step 100 of keeping track of related individuals byusing a paper or electronic organizer Upon completing the step 110 ofdetermining travel plans, the traveler must then perform the step 120 ofcontacting each related individual in order to determine if that relatedindividual will be at the same location within the same date range. Ifthe related individual's contact information is out of date, thetraveler needs to take the additional step 150 of figuring out theupdated contact information. Once the step 140 of contacting the relatedindividual is completed, the traveler can determine whether or not therelated individual will be at the same location within the same daterange. If so, the traveler can then take the step 170 of noting this andmaking arrangements to meet with the related individual.

The combination of a social network and an electronic location calendarenables travelers to easily discover which related individuals, if any,will be at the destination at the same time that the traveler will be.The traveler does not have to personally contact every friend, familymember, business associate, etc., to discover this information as theywould previously. Once the traveler discovers which related individualswill be in the same geographical proximity on a given date, the travelercan then contact those related individuals and make arrangements tomeet.

The social network is an integral component for achieving theconvenience above. There are several online social networks on theinternet today, such as Friendster, Orkut, and Plaxo. An online socialnetwork allows an individual to easily keep track of relationships thatthe individual has with other people by leveraging the internet. Eachindividual maintains his or her own account profile on the online socialnetwork, and defines who his or her related individuals are. Oncedefined, the online social network retains the relationship.

FIG. 4 a, FIG. 4 b, FIG. 4 c, FIG. 4 d, and FIG. 4 e representrelationship diagrams to provide a better understanding of online socialnetworks. In this example, all relationships are symmetrical, meaning ifUser A 400 is a related individual of User B 410, then User B 410 mustbe a related individual of User A 400. An online social network need nothave such a symmetrical relationship. In FIG. 4 a, User A 400 defineshis relationship with three related individuals, User B 410, User C 420,and User D 430. Each of these three related individuals have their ownrelationship to their own related individuals. The relationship diagramin FIG. 4 b reveals User B's 410 related individuals. As shown, User B'srelated individuals are User A 400, User C 420, User E 440, and User F450. FIG. 4 c shows that User C's 420 related individuals are User A400, User B 410, User F 450, and User G 460. FIG. 4 d shows that UserD's 430 related individuals are User A 400, User G 460, User H 470, User1480, and User J 490. In FIG. 4 e, User A's 400 related individuals areshown, with up to one degree of separation. User A's 400 relatedindividuals at zero degree of separation include User B 410, User C,420, and User D 430. User A's 400 related individuals at one degree ofseparation include User E 440, User F 450, User G 460, User H 470, User1480, and User J 490.

The advantages of an electronic social network are numerous. Anelectronic social network is able to maintain a list of relatedindividuals for a member. Since an electronic social network stores arelationship (or link) to a related individual from a member, data abouta related individual is managed by the related individual. For example,the electronic social network keeps a link between User A and User B. IfUser A's phone number changes, there is no need for User B to make theupdate. User A updates his/her phone number on the electronic socialnetwork, and the update is automatically reflected to User B. Similarly,the electronic social network also has a link between User A and User C,and thus User C would also sees User A's new phone number. Anotheradvantage of an electronic social network is the ability to see relatedindividuals at multiple levels of separation. Users of the electronicsocial network can see friends of friends, or others within one degreeof separation. Of course, viewing users at more than one degree ofseparation is also possible.

The other integral component for helping travelers stay in touch withfriends, family, and associates is the electronic location calendar. Theelectronic location calendar builds upon the conventional electroniccalendar. There are several electronic calendars in existence today, andthey can be in the form of a desktop application or a web application.FIG. 2 shows an example of a conventional electronic calendar. As can beseen in FIG. 2, in this calendar view, the scope is one month, and isprimarily displaying the month of May. A month view is equivalent to afive week view displayed in a grid format. In this grid format, thespacing between the horizontal and vertical lines do not need to becompletely uniform. Each day in the calendar view has its own daycontainer. In this example, each day container is essentially a square.The last day of April and the first few days of June can also be seen inthis conventional electronic calendar 200. The user has the ability toscroll forward or backwards in time by clicking on the back scroll 220or forward scroll 210. The scroll will usually scroll in increments of aweek or a month. In addition to the calendar view having a scope of onemonth, showing a scope of one day, one week, two weeks, three weeks,four weeks, and so on are also possible.

The conventional electronic calendar is used for keeping track ofevents. Some example events are lunch appointments, meetings, birthdays,and trips. The conventional use for the electronic calendar is to recordan event into the calendar so that the user is able to keep track ofwhat appointments and commitments the user has for any given date. Anevent is entered with a start date and end date. It may also include astart time and end time if the event is not all day.

FIG. 3 provides a view of a conventional electronic calendar with fourevents entered by the user. The events shown in the conventionalelectronic calendar 300 as displayed as event overlays, and are“Meeting” 310, “Lunch” 320, “Camping with family” 330, and “Wedding”340. The start time and end time are not displayed in this view, butcould be. In this example view 300, the user may have a meeting with aco-worker at 3 pm on May 10^(th), and would enter it into theconventional electronic calendar. Once entered, it would appeargraphically as an event overlay within the May 10^(th) day container asseen in the “Meeting” event overlay 310. The same user may have a lunchappointment with a friend at 12 pm on May 14^(th), which can be seen inthe “Lunch” event overlay 320 within the May 14th day container, Thesame user may be leaving for a camping trip with the family from May 18until May 20, without specifying any start or end time. This is seen inthe “Camping with family” event overlay 330 which spans across three daycontainers: May 18^(th), May 19^(th), and May 20^(th). Finally, the usermay have a wedding to attend on May 27^(th) from 2 pm until 5 pm, andthis is displayed as the “Wedding” event overlay 340 within the May27^(th) day container.

An understanding of existing advertising technologies, along with anunderstanding of social networking and electronic location calendartechnology will help to better understand the present invention andalong with its many advantages in allowing advertisers to better targettheir advertisements.

SUMMARY OF THE INVENTION

The present invention provides a method and system for targetingadvertisements to select individuals based on data entered by theindividuals into an electronic location calendar. The raw data enteredby the individuals into their respective electronic location calendarincludes previous home locations, current home location, future homelocation, past trips, current trips, future trips, and additionalmeta-data for the multiple home locations and trips. Some example travelhabits that can be derived include the percentage of time a travelerspent out of the country last year, the number of days a traveler spentat home, the number of times a traveler flew to New York, and the numberof miles the traveler traveled regardless of the mode of transit.Through this invention, advertisements can be targeted to individualsbased on these travel habits.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the advantagesthereof will be readily obtained as the same becomes better understoodby reference to the detailed description when considered in connectionwith the accompanying drawings, wherein:

FIG. 1 is a flowchart diagram.

FIG. 2 is a view of a conventional electronic calendar.

FIG. 3 is a view of a conventional electronic calendar.

FIG. 4 a is relationship diagram of an electronic social network.

FIG. 4 b is relationship diagram of an electronic social network.

FIG. 4 c is relationship diagram of an electronic social network.

FIG. 4 d is relationship diagram of an electronic social network.

FIG. 4 e is relationship diagram of an electronic social network.

FIG. 5 is a flowchart diagram demonstrating how a user interacts with anelectronic location calendar system.

FIG. 6 is a technical block diagram of an electronic location calendarsystem

FIG. 7 is a detailed technical block server diagram of an electroniclocation calendar system.

FIG. 8 is a user interface diagram for inputting a user's future travelplans into an electronic location calendar system.

FIG. 9 is a view of an electronic location calendar.

FIG. 10 is a view for reporting the location of related individuals thatcan be met for a particular trip.

FIG. 11 is a user interface diagram for querying the location of relatedindividuals for a particular date.

FIG. 12 is a map view for reporting the location of related individuals.

FIG. 13 is a flowchart diagram of an embodiment of the presentinvention.

FIG. 14 is a technical block diagram of an embodiment of the presentinvention.

FIG. 15 is a detailed technical block diagram of an embodiment of thepresent invention.

FIG. 16 is a user interface diagram for inserting and targeting anadvertisement in an embodiment of the present invention.

FIG. 17 is a user interface diagram for inserting and targeting anadvertisement in an embodiment of the present invention.

FIG. 18 is a user interface diagram for inserting and targeting anadvertisement in an embodiment of the present invention.

FIG. 19 is a user interface diagram for displaying an advertisement inan embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 6 is a high level technical diagram of a system for an electroniclocation calendar system. The electronic location calendar systemcombines an electronic location calendar with a social network. Atraveler interacts with the electronic location calendar system by usinga client application 600 which is connected to the internet 620 andcommunicates with the server 630. Similarly, one or more relatedindividual of the traveler also uses a client application 610 which isconnected to the internet 620 and communicates with the server 630. Theserver 630 contains application logic for inputting travel plans andusing this data for advanced reporting. The server 630 is also used tomanage all logic involved with an electronic social network. Allpersistent data is stored by the server 630 onto a data storage device640 such as a database.

FIG. 5 is a flow chart showing how travelers can better coordinate andstay in touch with related individuals using the electronic locationcalendar system. In the first step 500, a traveler uses a clientapplication 600 to interface with an electronic social network runningon the server 630 to maintain his/her relationship with relatedindividuals. Data about the traveler and related individuals, along withtheir relationships are persisted in the data storage device 640. In thenext step 510, related individuals, using a client application 610,input their previous home location, current home location, and futuretravel plans into the system, which ultimately gets registered by theserver 630 and stored onto the data storage 640. Related individuals areable to add, remove, and edit future travel plans. Related individualscan also modify their current and previous home locations.

In step 520, the traveler makes plans to travel or is considerstraveling. The traveler's destination or intended destination, if any,is designated as location A on the date X. The traveler enters thisinformation into the system via the client application 600.

With travel plans in mind, the traveler may be curious about whichrelated individuals he/she can meet with while at location A. In theelectronic location calendar system, the traveler is able to query forthis information in three different fashions. First is via step 530whereby the traveler queries the system to determine which relatedindividuals will also be at location A on date X. In step 560, theelectronic location calendar system returns a list of all relatedindividuals who will be at location A on date X. The system will returnan empty list if it cannot find any related individuals that will alsobe at location A on date X.

The second means by which the traveler can query the electronic locationcalendar system is via step 540 whereby the traveler queries theelectronic location calendar system to discover when in the futurerelated individuals will be at location A. If the traveler is flexible,the traveler will be able to use this information to influence when thetraveler decides to travel to location A. In step 570, the electroniclocation calendar system returns a report revealing the relatedindividuals who will be at location A sometime in the future, and thedates when they will be at location A.

The third means by which the traveler can query the electronic locationcalendar system is via step 550 whereby the traveler queries theelectronic location calendar system to see where related individualswill be on date X. This allows the traveler to see where the traveler'srelated individuals will be for a future date. In step 580, theelectronic location calendar system returns with information revealingthe location of related individuals for date X. This can be displayed ina list format or can be displayed on a map for easier viewing.

FIG. 6 shows at a high level how the users interact with the electroniclocation calendar system, and how different pieces of the electroniclocation calendar system are interconnected. The traveler interacts withthe electronic location calendar system via a client application 600,and similarly, the related individuals interact with the electroniclocation calendar system via a client application 610. The traveler'sclient application 600 and related individuals' client application 610both connect to a server 630 by going over the internet 620. The server630 uses a data storage device 640 for data persistence.

FIG. 7 is a detailed technical diagram of the electronic locationcalendar system. The server 630 contains several modules where businesslogic resides for handling an electronic social network and for handlingtravel related functions. The business logic modules responsible for theelectronic social network include Account Management 700, RelatedIndividual Edit 710, and Related Individual Retrieve 720. The modulesresponsible for the travel related functions include Travel Plan Edit730, View Travel Reports 740, and Location Calendar 750.

The Account Management module 700 is used to manage basic accountfeatures for each member of the electronic social network. Basic accountfeatures include creating a new account, modifying an existing account,logging into an existing account, and removing an existing account. Someproperties of an account include username, password, first name, lastname, address, phone number, photos, interests, work information, emailaddress, and credit card information. In terms of location, the accountmay also hold previous home location(s) data and current home locationdata. There may be multiple previous home location data for a user. Forexample, a user may have lived in Los Angeles, Calif. from Jan. 10, 1986until Mar. 20, 1997, and San Francisco, Calif. from Mar. 21, 1997 untilSep. 5, 2006. There is a single current home location data for a user.For example, a user may have a current home location of Seattle, Wash.,starting from Sep. 6, 2006. There may also be future home locations, ifthe user knows that he/she will be moving to another location in thefuture. Anytime a user performs account related functionality, it is theresponsibility of the Account Management module 700 to handle therequest. Account information is persisted on the data storage 640.

The Related Individual Edit module 710 allows a member of the electronicsocial network to add a relationship to a related individual, edit arelationship to a related individual, and remove a relationship to arelated individual. Typically, in order to have a relationship to aparticular related individual on the electronic social network, thatparticular related individual must be a member and have an account setup with the electronic social network. The electronic social networkmember uses the Related Individual Edit module 710 to manage onlyrelated individuals within zero degree of separation from the member.The electronic social network member need not manage related individualswithin degrees of separation of one or more, as this is handled by thesystem automatically. Relationships to a related individual arepersisted on the data storage 640.

The Related Individual Retrieval module 720 handles the request ofreturning a list of related individuals for a particular member. Therequest may specify the degrees of separation. For example, a socialnetwork member may request all related individuals within zero degree ofseparation, which would prompt module 720 to return all relatedindividuals for which the social network member has a directrelationship with. In another example, a social network member mayrequest all related individuals within one degree of separation, whichwould prompt module 720 to return all related individuals for which thesocial network member has a direct relationship with, along with allrelated individuals that they have a direct relationship with.

The Travel Plan Edit module 730 allows a member of the social network toadd a travel plan, edit a travel plan, and remove a travel plan. Atravel plan includes properties such as the beginning date and time,ending date and time, destination, and purpose of travel. It may alsoinclude a specific event that the user is attending, such as a concert,tradeshow, conference, or other group activities. This data could beused for allowing users to discover each other that are attending thesame event. A travel plan may also include transit information. Forexample, if the traveler is flying to the destination, the traveler mayalso enter information about the flight, including airline, flightnumber, departure date and time, departure airport, arrival date andtime, and arrival airport. This would be entered once for the transit tothe destination, and again for the transit back home. If the traveler isvisiting multiple destinations, the traveler may enter multipledestinations, and accordingly, multiple transit information. All travelplan data is persisted on the data storage 640 connected to the server630.

The View Travel Reports module 740 is responsible for handling variousrequests related to discovering the location of a related individual fora future date. There are three major types of request that the module740 can accept. First is a request for all related individuals at aspecified location for a specified date. Second is the location ofrelated individuals for a specified date. Third is the future date whena related individual will be at a specified location.

The Location Calendar module 750 is responsible for putting a user'stravel plans into a graphical, electronic location calendar. Thelocation calendar will display a user's location for the past, presentand future, and will utilize data collected by the Travel Plan Editmodule 730. The information includes travel plans, previous homelocation(s), and current home location. The Location Calendar module750, using complex algorithms, will utilize this information todetermine where the user is at any point in time. Logically, the usercannot be in two different locations at the same date and time. Forexample, Location Calendar module 750 will intelligent know that theuser is at the current location for a future date and time, unless thereis a travel plan that takes the user somewhere else. If there is transitinformation for the travel plan, the Location Calendar module 750 willrealize that during transit, the user is not in any particular location.On a side note, for transit, the system could discover a relatedindividual on the same transit and inform the user of this.

FIG. 8 shows a user interface to enter their future travel plans. Thisuser interface would be displayed on the traveler's client application600 or the related individuals' client application 610. The traveler andrelated individuals are able to enter their future travel plans usingthis interface, which accomplishes step 510 and step 520. On this userinterface 800, users can enter the date and time range 810 for theirfuture travel plan, the location where they will be traveling to 820,plus the transit information 850 860. Travel location can be enteredusing a variety of information, such as city, state, and country, or zipcode, or even the longitude and latitude as seen in 820. Transitinformation can be entered for the transit to the destination 850 andtransit returning from the destination 860. In addition to capturing thetransit start date/time, end date/time, departure airport, and arrivalairport, other data such as the airline, flight number, and such couldalso be collected. Transit does not necessarily have to be an airlineflight, and as such, other data could also be collected which would berelevant to travel by train, boat, or other means.

In user interface 800, the purpose for travel 830 is also selectable,and a name 840 can be assigned to each travel plan entered.

Privacy is also a very important consideration. Often times, a user maynot want to disclose a particular travel plan, previous location, orcurrent location to certain people. In order to protect the user'sprivacy, the system will allow the user to specify the privacy settingat a very granular level. In this embodiment, the privacy settingsinclude: public, system member, extended network, immediate network, andspecific categories within the immediate network. Public means theinformation is viewable by anyone. System member means that theinformation is viewable only by others who have an account on thesystem. Extended network means the information is viewable only byrelated individuals who are at most 1 degree of separation apart.Immediate network means the information is viewable only by relatedindividuals who are 0 degrees of separation apart. Finally, categorieswithin the immediate network means the information is viewable only by asubset of the immediate network. For example, the user is able tocategorize related individuals within his/her immediate network as“Friends”, “Family”, or “Co-Workers”.

The user is able to specify a privacy setting for each individual trip.For a user's trip to New York, the user may only want “Friends” and“Family” members to see this trip, whereas for a trip to Chicago, theuser may allow the entire public to see this trip. The user is also ableto specify a privacy setting for the previous and current home location.

Based on the travel plan data entered by the user in FIG. 8, and thedata collected about the user's previous home locations and current homelocation by the Account Management module 700, the Location Calendarmodule 750 is able to draw a graphical representation of the user'slocation via an electronic location calendar 900. FIG. 9 shows anelectronic location calendar for a particular user in the month of May.As can been seen, the electronic location calendar draws the calendaritself much like a convention electronic calendar would. The primarydifference is that the electronic location calendar will has specializedlogic to properly draw location overlays.

There are multiple types of location overlays. In this embodiment, fourtypes of location overlays are described, which include home locationoverlay, destination location overlay, empty location overlay, andtransit location overlay. Home location overlay is used to represent thelocation of the user based on the previous home location and currenthome location. The destination location overlay is used to represent thelocation of the user when the user is traveling. An empty locationoverlay is utilized when the system is unable to determine the locationof the user for any period in time. Transit location overlay is used torepresent the time when the user is in transit for travel.

In the example on FIG. 9, let's assume that today is May 28^(th). Theuser specified a previous home location of San Francisco, Calif. fromJan 15^(th) until May 15^(th) at 11 pm. So on the electronic locationcalendar 900, we see San Francisco, Calif. 910 as a home locationoverlay. On the electronic location calendar 900, the San Francisco,Calif. home location overlay 910 spans across a range of visible daycontainers, specifically, April 30^(th) to May 15^(th). Although theuser's previous home location of San Francisco, Calif. spans from Jan15^(th) until May 15^(th), the electronic location calendar 900 can onlydisplay the home location overlay 910 for the visible dates. Thus, onlyvisible day containers, April 30^(th) through May 15^(th), will show theSan Francisco, Calif. home location overlay 910. The user also specifiedthat the user's current home location is Seattle, Wash., and that theuser has been at this home location starting at 2 pm on May 17^(th).This is represented graphically in the Seattle, Wash. home locationoverlay 930. As can be seen on the calendar, the system does not knowwhere the user was between May 15^(th), 11 pm and May 17^(th), 2 am.This is referred to as dead-time, and graphically represented with anempty location overlay 920. Since the user's current home location isSeattle, Wash., the system assumes that this will be the user's homelocation in the future as well.

The user entered two travel plans. One which is now in the past (priorto May 28^(th)), and one that is in the future (after May 28^(th)). Thefirst travel plan has a destination of Los Angeles, Calif., from May24^(th) at 6 am until May 25^(th) at 10 pm. We see this in the LosAngeles, Calif. destination location overlay 940. The user did notspecify any transit information for this travel plan. The second travelplan has a destination of New York, N.Y., with a start date/time of May29^(th) at 11 pm and end date/time of June 2^(nd) at 12 am. We see thisin the New York, N.Y. destination location overlay 970 which spansacross three day containers, May 30^(th), May 31^(st), and June 1^(st).In this second travel plan, the user has entered transit information forgoing to the destination and returning from the destination. The user isin transit to the destination from May 29^(th) at 11 pm until May30^(th) at 5 am, which is shown in the transit location overlay 950. Theuser is in transit from the destination, returning back home, from June1^(st) at 7 pm until June 2^(th) at 12 am, which is shown in the transitlocation overlay 960. This means the user is at the destination, NewYork, from May 30^(th), 5 am until June 1^(st), 7 pm, as seen in the NewYork, N.Y. destination overlay 970.

In the sample electronic location calendar 900, each day container isassumed to be vertically partitioned into twenty four hours. This allowsfor display of location overlays to be vertically shifted by time. Forexample, the May 30^(th) date cell shows a destination of New York, N.Y.starting at 5 am. This is expressed by starting the New York, N.Y.destination location overlay 970 about 5/24 or about 21% to the right ofthe left edge of the May 30^(th) date cell. If the New York, N.Y.destination location overlay 970 was supposed to begin at 12 pm on May30^(th), it would be drawn as starting right in the center of the May30^(th) date cell, since 12/24 is 50%. This method provides the viewerwith a quick approximate visual of the time.

In this electronic location calendar 900, all dates and times aredisplayed using a single, default time zone. This helps to avoidconfusion and overlap of location overlays. To make it more convenientfor the user to enter information such as transit start date/time,transit end date/time, travel plan start date/time, and travel plan enddate/time, the system may allow the user to specify the time zone forthe date/time entered, and the system can convert the entered date/timeinto the default time zone for display on the electronic locationcalendar. It is advantageous for the system to keep the entered timezone specified by the user for future display purposes, such as when theuser decides to make an edit to an existing travel plan.

Also notice that the system recognized that the Seattle, Wash. homelocation overlay 930 had to be segmented because of the user's travel toLos Angeles, Calif. and New York, N.Y. As visually displayed in theSeattle, Wash. home location overlay 930, the user is not in Seattle,Wash. while in transit or at a travel destination. There are fourpossible outcomes with a home location overlay is segmented by a travelplan. The home location overlay may result in zero segments, meaningthat a travel plan ranges all dates that the home location overlay does.In other words, the start date/time for the travel plan is equal to orearlier than the start date/time for the home location overlay, and theend date/time for the travel plan is equal to or later than the enddate/time for the home location overlay. The home location overlay mayresult in one segment, with the start date/time set to a later date/timethan the original home location overlay. This happens when the travelplan start date/time is less than or equal to the home location overlaystart date/time, the travel plan end date/time is later than the homelocation overlay start date/time, and the travel plan end date/time isearlier than the home location overlay end date/time. The home locationoverlay may result in one segment, with the end date/time set to anearlier date/time than the original home location overlay. This happenswhen the travel plan start date/time is later than the home locationoverlay start date/time, the travel plan start date/time is earlier thanthe home location overlay end date/time, and the travel plan enddate/time is later than or equal to the home location overlay enddate/time. Finally, the home location overlay may result in twosegments. This happens when the travel plan start date/time is laterthan the home location overlay start date/time and the travel plan enddate/time is earlier than the home location overlay end date/time.

In step 530, the traveler is able to discover related individuals whowill be in the same future location at the same future date and time.This can be easily done by clicking on the destination of a travel planon the electronic location calendar 900. As mentioned, the user istraveling to New York, N.Y. The user can click on this destination 970on the electronic location calendar 900, and the system will search forall related individuals that will be near New York, N.Y. between May30^(th), 5 am, and June 1^(st), 7 pm. This list is shown on FIG. 10. Thetraveler is also able to specify the maximum degrees of separation tosearch for via the drop down 1040. For example, if the traveler chooses“0” as a selection here, the system will limit search results to onlyrelated individuals with zero degrees of separation from the traveler.The traveler is also able to specify the maximum distance a relatedindividual can be from the traveler by entering the maximum distance inthe drop down 1050. The search result includes the related individual'sname 1010, along with the location where the related individual will belocated 1020. The search result also shows the specific future dates1030 for when these related individuals will be in location specified in1020. This search result satisfies step 560.

Another way of searching is by date rather than by destination. The usercan click on a particular date on the electronic location calendar 900and see which related individuals will be nearby on that given date. Forexample, the user may click on May 8^(th). Although this is in the past,the functionality will be the same. By clicking on May 8^(th), thesystem will recognize that the user was in San Francisco, Calif. on thatdate, and will show the user a list of related individuals who werenearby to San Francisco, Calif. on that date.

In step 550, the traveler is able to query the system to see whererelated individuals will be on a future date. One method of doing so isby simply viewing the related individual's electronic location calendar.Another method is via user interface 1100 which allows the traveler tospecify a future date 1110, and the maximum degrees of separation 1120.FIG. 12 shows a graphical search result for the query submitted fromuser interface 1100. FIG. 12 shows where each related individual will befor the future date specified. Each related individual is plotted on amap, which provides a much more user friendly view for the traveler. Themap may be customized to show the entire globe, or to be zoomed into onegeographical area. This search result satisfies step 580.

With this electronic location calendar system, a traveler is given theopportunity to efficiently schedule meetings and get together withrelated individuals. These related individuals, as mentioned earlier,may be friends, co-workers, business associates, relatives, etc. Theadvantage of being able to meet with a related individual whiletraveling may be advantageous from a business viewpoint, and may alsomake the travels more enjoyable. In many cases, travelers will findthemselves scheduling their travel plans around their relatedindividuals' travel plans. The electronic location calendar systemallows for this capability as well. With this electronic locationcalendar system, travelers will no longer have to miss an opportunity tomeet and get together with related individuals. With this electroniclocation calendar system, travelers will no longer waste time seekingrelated individuals when planning to travel.

In addition to providing value for the user of an electronic locationcalendar, the data collected within an electronic location calendarprovides immerse targeting capabilities for an advertiser.

FIG. 13 shows a flowchart describing steps for targeting anadvertisement to a traveler, based on the traveler's travel habits. Ashas been described, in steps 1310 and 1320, the traveler registers foran electronic location calendar system, and provides travel related datato the electronic location calendar system. The data entered by the userduring registration and any travel related data is considered raw data.FIG. 14 shows a technical block diagram, showing how the travelerinteracts with the location calendar system in relation to theadvertising system of the present invention.

In step 1330, a travel habit is derived based on the raw data availableabout the traveler within the electronic location calendar system. Asample derived travel habit is the number of times a traveler travelsbetween airport X and airport Y between a start date and end date. Thevariables in this sample derived travel habit include: 1) number oftimes, 2) airport X, 3) airport Y, 4) start date, and 5) end date. Thesevariables will ultimately be defined by the advertiser. Once the travelhabit is derived in step 1330, the next step 1340 is to develop a queryin a computer query language such as SQL, to be able to execute thematch. The set of derived travel habits, and its meta-data such as thequery, is maintained and managed by the Travel Habits Manager 1510within the Travel Habit Ad Server 1410.

Now that one or more derived travel habits have been defined in thesystem, an Advertiser is now able to interface with the system of thepresent invention, using Advertiser's Client Application 1400, toperform the step 1350. The Advertiser's account on the system of thepresent invention is managed by the Advertiser Account Manager 1540. Instep 1350, the Advertiser inserts a new advertisement into the system ofthe present invention targeting a derived travel habit and specifyingany related variables. FIG. 16, FIG. 17, and FIG. 18 provide threeexample user interface diagrams that the Advertiser would use to inserta new advertisement into the system targeting different derived travelhabits. The Ad Insertion component 1550 is responsible for handling theinsertion of new advertisements from the Advertiser. Information aboutthe Advertiser and Advertisements may be persisted in a separatedatabase from the Electronic Location Calendar system, as isdemonstrated in FIG. 15. As shown in FIG. 15, the Travel Habit Ad Server1410 has access to both the Location Calendar Data Storage 640 and AdData Storage 1420.

In FIG. 16, FIG. 17, and FIG. 18, it can be seen that the Advertiseralso enters general information and information about the display of theadvertisement. Advertisement display information 1620 includes the AdTitle, URL, and short description. All of this data will ultimately beused for displaying the advertisement to the targeted traveler.

In FIG. 16, the Advertiser has opted to target the derived travel habit“Flight Route Frequency” as seen in the Travel Info section 1630. InFIG. 17, the Advertiser has opted to target the derived travel habit“Miles Traveled for Work” as seen in the Travel Info section 1730. InFIG. 18, the Advertiser has opted to target the derived travel habit “#of Days In City for Travel” as seen in the Travel Info section 1830. Foreach derived travel habit, the CPM, which is the price per thousandimpressions, can vary. The price variance may be based on many factors.These factors may include the popularity of the derived travel habit,overall demand to reach the specific travelers who match the targetedtravel habit, and the value of the variable fields entered by theAdvertiser. Other pricing models may also be used, such as CPC (cost perclick).

As seen in FIG. 16, FIG. 17, and FIG. 18, the variable fields differdepending on the derived travel habit chosen. This data is maintained bythe Ad Insertion component 1550. In FIG. 16, the derived travel habit“Flight Route Frequency” includes the Advertiser definable variables: a)Airport X, b) Airport Y, c) the minimum number of times the travelermust have traveled between Airport X and Airport Y, d) the start date,and e) the end date. For example, the Advertiser may fill in section1630 to state the desire to target travelers who traveled between LAXand JFK at least 20 times between Jan. 1, 2007 and Jul. 1, 2007. FIG. 17and FIG. 18 show other variables that are associated to their respectivederived travel habits. Once the advertiser chooses one of the derivedtravel habit and fills out the variables associated to the derivedtravel habit, this data is stored in the Ad Data Storage 1420 andcollectively, this data is referred to as the targeted travel habit.

In step 1355, when the traveler requests a webpage, a query will beperformed in step 1360 to determine whether the traveler matches thetargeted travel habit by the Advertiser. This logic is handled by theMatch Travel Habit component 1520. To make the determination as towhether or not the traveler matches the targeted travel habit in step1370, the Match Travel Habit component 1520 will query the raw data forthe traveler contained in the Location Calendar Data Storage 640.

As an example, let's take a look at how the query would work for thederived travel habit labeled “# of Days In City for Travel” as seen inuser interface diagram 1800. The query needs to determine if thetraveler has been within a specified radius of a particular location forat least a specified number of days, in between a specified start dateand end date. As already noted, this query will utilize the traveler'sraw data to make this determination. The query will specifically need tolook at the travel plans data within the raw data, and is not interestedin the home location data. For all travels plans between the specifiedstart date and end date, the query will need to see if the destinationfor the travel plan is within the specified radius. This is performedusing longitudinal and latitudinal distance algorithms. For eachdestination that is within the specified radius, the number of days atthe destination will need to be tallied. If the number of tallied daysis greater than the specified number of days, then there is a match. Inthis example, only a subset of the traveler's raw data was required forthe query. Other data available, such as the traveler's transit and homelocation (previous, current, and future), were not required.

It may be beneficial to employ some type of caching algorithm or searchengine to optimize the performance of the system. For example, atargeted travel habit may be queried in batch against all travelers inthe Location Calendar Data Storage 640, and a flag can be maintained foreach traveler to denote whether the traveler matches the targeted travelhabit. This avoids the need to perform a cumbersome query in real-timeevery time an advertisement needs to be served to the traveler.

If there is not a match to a particular targeted travel habit, then theassociated advertisement is not displayed, as seen in step 1380. Ifthere is a match, then the associated advertisement may be displayed tothe traveler, as seen in step 1390. The Generate Advertisement component1530 is responsible for composing the advertisement and serving it tothe webpage being viewed by the traveler. An example of advertisementsdisplayed to the user is displayed in user interface diagram 1900. Theuser interface diagram 1900 shows a page that the traveler will use toview his/her travel calendar. Above the travel calendar areadvertisements 1910. Three advertisements are shown in the advertisementsection 1910. The first advertisement, titled “Fly ABC Airlines” istargeted towards travelers who have traveled between LAX and JFK atleast 10 times between Jan. 1, 2007 and Jul. 1, 2007, which matches thelogged in fictitious traveler, John Doe. The second advertisement,titled “New York Restaurants” is targeted towards travelers who willtravel to New York within the next two weeks, which matches logged infictitious traveler, John Doe. The third advertisement, titled “Save aTrip” is targeted towards travelers who traveled at least 10,000 mileswithin the past 3 months for business, regardless of the type of transitutilized, which matches logged in fictitious traveler, John Doe.

A few more examples of derived travel habit include targeting the day ofthe week a traveler is at a particular location, targeting travelers whospend at least a specified number of hours on a train for a specifiedstart date and end date, targeting travelers who switch home locationsat least a specified number of time within a specified start date andend date, targeting a traveler who has attended at least a specifiednumber of conferences within a specified start and end date, andtargeting a traveler who was on at least a specified number of flightswithin a specified start date and end date.

In addition to the derived travel habits described above, it is alsopossible to target advertisements to derived travel habits of relatedindividuals. A derived travel habit of related individuals uses raw dataentered by the traveler's related individuals. For example, the travelermay have ten friends, out of which, eight are traveling to New York nextweek. An advertiser may wish to take advantage of this information bytargeting a discount airfare to the traveler for next week. To do so,the advertiser would target the ad to a derived travel habit of relatedindividuals since the targeting is based on the raw data from thetraveler's related individuals. The methodology for targeting a derivedtravel habit of related individuals is more or less identical to thelogic methodology for targeting a derived travel habit, except it isinclusive of raw data from the traveler's related individuals.

These are just a few examples of the powerful targeting that can bederived from the raw data in the Location Calendar System. It has nowbeen demonstrated how, with the present invention, advertisers cangreatly benefit and target based on derived travel habits and derivedtravel habits of related individuals.

Although the present invention has been described in detail with respectto certain embodiments and examples, variations and modifications existwhich are within the scope of the present invention as defined in thefollowing claims.

1. A computer-implemented method, comprising: receiving, at a computing system hosting an electronic social network over a network, a future travel plan indicating one or more destination locations and dates for a future trip planned by a traveler; storing the future travel plan in a storage device coupled to the computing system; storing a profile associated with the traveler in the storage device coupled to the computing system indicating travel habits of the traveler; determining a targeted travel habit for the traveler based on the future travel plan of the traveler and the profile of the traveler; receiving, at the computing system over the network, a future travel plan for one or more related individuals, wherein the one or more related individuals is related to the traveler by one or more degrees of separation through the electronic social network; storing the received future travel plan for the one or more related individuals in the storage device accessible by the computing system, wherein the received future travel plan for the one or more related individuals specifies a future trip planned by the one or more related individuals including the one or more destination locations and associated dates for the one or more related individuals' future trip; determining, by a data processing system, matching trips for the traveler and the one or more related individuals, and wherein the matching trips for the members of the electronic social network is determined by: (1) the traveler and the one or more related individuals having a matching destination in their future travel plans, wherein a matching destination is a travel destination for the one or more related individuals specified in the received future travel plan for the one or more related individuals matching a travel destination specified in the future travel plan for the traveler, and (2) the traveler and the one or more related individuals have a matching date for the matching destination in their future travel plans; associating an advertisement to the traveler, wherein the advertisement is associated to the traveler based on (i) the traveler's targeted travel habit (ii) the traveler being related to the one or more related individuals through the electronic social network, (iii) the matching trips between the traveler and the one or more related individuals through the electronic social network, and (iv) raw data, of at least one of the traveler and the one or more related individuals through the electronic social network, related to the matching trips between the traveler and the one or more related individuals through the electronic social network; and displaying the advertisement to the traveler via the electronic social network on the network.
 2. The computer-implemented method of claim 1, wherein the electronic social network receives and provides to the traveler information regarding the one or more related individuals to the traveler that are also members of the electronic social network.
 3. The computer-implemented method of claim 1, wherein the travel plan further comprises travel information including at least one of flight, departure time, departure airport, arrival date and time, and arrival airport information.
 4. The computer-implemented method of claim 1, wherein the travel plan is entered into an electronic location calendar within the electronic social network.
 5. The computer-implemented method of claim 1, wherein the travel habit is derived from the number of times, as indicated in the previous travel plans, the traveler has traveled to a particular destination city identified in the future travel plan.
 6. The computer-implemented method of claim 1, wherein the travel habit is related to a frequency, as indicated in the previous travel plans, at which the traveler has traveled to a particular airport in the future travel plan.
 7. The computer-implemented method of claim 1, wherein the travel habit is related to the dates on which the traveler will be in a particular destination according to the future travel plan.
 8. The computer-implemented method of claim 1, wherein the travel habit is related to the number of miles, as indicated in the previous travel plans, the traveler has traveled for work related purposes.
 9. The computer-implemented method of claim 1, wherein the one or more destination locations is a city.
 10. The computer-implemented method of claim 1, wherein the electronic social network is presented over the network as a website for access by client computers over HTTP.
 11. The computer-implemented method of claim 1, wherein the advertisement is comprised of a URL.
 12. A computer-implemented method, comprising: receiving, at a computing system hosting an electronic social network over a network, a future travel plan indicating one or more destination locations and dates for a future trip planned by a traveler; storing the future travel plan in a storage device coupled to the computing system; storing a profile associated with the traveler in the storage device coupled to the computing system indicating travel habits of the traveler; receiving, at the computing system over the network, one or more future travel plans for one or more related individuals, wherein the one or more related individuals is related to the traveler by one or more degrees of separation through the electronic social network; storing a received future travel plan for the one or more related individuals, wherein the received future travel plan comprises travel information including at least one of destination date and destination information in the storage device accessible by the computing system; determining, by a data processing system, matching trips for the traveler and the one or more related individuals, and wherein the matching trips for the members of the electronic social network are determined by: (1) the traveler and the one or more related individuals having a matching destination in their future travel plans, wherein a matching destination is a travel destination for the one or more related individuals specified in the received future travel plan for the one or more related individuals matching a travel destination specified in the future travel plan for the traveler, and (2) the traveler and the one or more related individuals have a matching date for the matching destination in their future travel plans; determining an advertisement based on (i) the future travel plan for the one or more related individuals, (ii) the matching trips between the traveler and the one or more related individuals, and (iii) the future travel plan and profile for the traveler; and displaying the advertisement to the traveler via the electronic social network on the network.
 13. The computer-implemented method of claim 12, wherein the step of determining further comprises determining a targeted travel habit for the traveler based on the travel plan for the one or more related individuals and the future travel plan.
 14. The computer-implemented method of claim 12, wherein a travel plan is entered into an electronic location calendar within the electronic social network.
 15. A system, comprising: a processor; a network interface, coupled to the processor and coupled to a network; and a memory device coupled to the processor, wherein the memory device stores instructions that are executed by the processor, wherein the system: receives, at a computing system hosting an electronic social network over a network, a future travel plan indicating one or more destination locations and dates for a future trip planned by a traveler; stores the future travel plan in a storage device coupled to the computing system; stores a profile associated with the traveler in the storage device coupled to the computing system indicating travel habits of the traveler; receives, at the computing system over the network, one or more future travel plans for one or more related individuals, wherein the one or more related individuals is related to the traveler by no more than one degree of separation through the electronic social network; stores a received future travel plan for a related individual, wherein the received future travel plan comprises travel information including at least one of destination date and destination information in the storage device accessible by the computing system; determines, by a data processing system, matching trips for the traveler and the one or more related individuals, and wherein the matching trips for the members of the electronic social network are determined by: (1) the traveler and the one or more related individuals having a matching destination in their future travel plans, wherein a matching destination is a travel destination for the one or more related individuals specified in the received future travel plan for the one or more related individuals matching a travel destination specified in the future travel plan for the traveler, and (2) the traveler and the one or more related individuals have a matching date for the matching destination in their future travel plans; determines an advertisement based on (i) the future travel plan for the one or more related individuals, (ii) the matching trips between the traveler and the one or more related individuals, and (iii) the future travel plan and profile for the traveler; and displays the advertisement to the traveler via the electronic social network on the network.
 16. The system of claim 15, wherein the determines further comprises determines a targeted travel habit for the traveler based on the travel plan for the one or more related individuals and the future travel plan.
 17. The system of claim 15, wherein a travel plan is entered into an electronic location calendar within the electronic social network.
 18. The system of claim 15, wherein the travel plan is entered into an electronic location calendar within the electronic social network.
 19. The system of claim 15, wherein the electronic social network is presented over the network as a website for access by client computers over HTTP.
 20. The system of claim 15, wherein the advertisement is comprised of a URL. 